在上一篇中大家對於SQL Server在實務上經常搭配使用的三種備份類型已經了解,學會備份之後,接下來當然要來看怎麼將資料庫復原,會將資料庫復原才能讓您的備份發揮作用。
要執行復原動作之前,先要了解SQL Server所提供復原選項,這樣才能讓您正確的執行復原的動作。在本篇文章中會跟大家介紹SQL Server所提供的三種復原選項:
1.RECOVERY
2.NORECOVERY
3.STANDBY
因為用什麼復原選項與我們的備份策略息息相關,所以我們先假設我們的備份策略如下圖:
RECOVERY
RECOVERY復原選項執行還原作業時,會回復所有交易,並且讓資料庫處在正常可以存取的狀態,通常我們會在最後一次還原作業時,使用RECOVERY復原選項。
以本篇文章的備份策略來說,假設我們要回復到星期三早上七點的狀態,那麼我們所需要的是完整備份#1、差異備份#1跟交易紀錄備份#3,那麼交易紀錄備份#3就是最後一次還原作業,我們就會在交易紀錄備份#3選擇使用RECOVERY復原選項。
使用SQL Server Management Studio進行資料庫復原時,如下圖在[還原資料庫]對話視窗中的[選項]頁面,在復原狀態中挑選第一個項目。
NORECOVERY
NORECOVERY復原選項執行還原作業時,不會回復未認可的交易,並且資料庫處在正在還原的狀帶無法存取。與RECOVERY相反,使用在非最後一次還原作業,以上個範例來說,完整備份#1、差異備份#1就需要使用NORECOVERY復原選項執行還原作業。
使用SQL Server Management Studio進行資料庫復原時,如下圖在[還原資料庫]對話視窗中的[選項]頁面,在復原狀態中挑選第二個項目。
使用NORECOVERY復原選項執行還原作業的資料庫,如下圖中AdventureWorksDW2的資料庫,處在還原中的狀態。
STANDBY
STANDBY復原選項執行還原作業時,資料庫會處在唯讀的狀態,讓使用者可以在唯讀的狀態中進行查詢。STANDBY會回復未認可的交易,讓查詢不會被鎖住,並且會在待命檔(standby file)中將所有回復動作紀錄下來。如果待命檔損毀就必須重新復原。
使用SQL Server Management Studio進行資料庫復原時,如下圖在[還原資料庫]對話視窗中的[選項]頁面,在復原狀態中挑選第三個項目,並在待命資料庫檔案中挑選待命檔。
使用STANDBY復原選項執行還原作業的資料庫,如下圖中AdventureWorksDW3的資料庫,處在唯讀的狀態。
現在您已經了解SQL Server的復原選項。